Constraints and Object Identity

نویسندگان

  • Gus Lopez
  • Bjørn N. Freeman-Benson
  • Alan Borning
چکیده

Constraint imperative programming is an integration of declarative constraints and imperative object-oriented programming. The primary goal of this integration is to use constraints to express relations among objects explicitly— relations that were implicit in the code in previous languages. However, one of the fundamental concepts of object-oriented programming, object identity, can result in implicit relations, even when explicit identity constraints are supported. We analyze the problem and propose a solution—identity constraints—which we have implemented in our Kaleidoscope’93 language. This solution is understandable, efficiently implementable, and compatible with the Kaleidoscope constraint model. To appear in Proceedings of ECOOP’94 Bologna, Italy, July 1994 Constraints and Object Identity page 1 of 15 Constraints and Object Identity Gus Lopez1, Bjørn Freeman-Benson2, and Alan Borning1 1University of Washington, Dept. of Computer Science & Engineering, FR-35, University of Washington, Seattle, WA 98195, USA, {lopez,borning}@cs.washington.edu 2Århus University, Århus, Denmark. Current address: Carleton University, School of Computer Science, 514 Herzberg Building, 1125 Colonel By Drive, Ottawa, Ontario, Canada, K1S 0G9, [email protected] Abstract. Constraint imperative programming is an integration of declarative constraints and imperative object-oriented programming. The primary goal of this integration is to use constraints to express relations among objects explicitly— relations that were implicit in the code in previous languages. However, one of the fundamental concepts of object-oriented programming, object identity, can result in implicit relations, even when explicit identity constraints are supported. We analyze the problem and propose a solution—identity constraints—which we have implemented in our Kaleidoscope’93 language. This solution is understandable, efficiently implementable, and compatible with the Kaleidoscope constraint model. Constraint imperative programming is an integration of declarative constraints and imperative object-oriented programming. The primary goal of this integration is to use constraints to express relations among objects explicitly— relations that were implicit in the code in previous languages. However, one of the fundamental concepts of object-oriented programming, object identity, can result in implicit relations, even when explicit identity constraints are supported. We analyze the problem and propose a solution—identity constraints—which we have implemented in our Kaleidoscope’93 language. This solution is understandable, efficiently implementable, and compatible with the Kaleidoscope constraint model.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Objects Identification in Object-Oriented Software Development - A Taxonomy and Survey on Techniques

Analysis and design of object oriented is onemodern paradigms for developing a system. In this paradigm, there are several objects and each object plays some specific roles. Identifying objects (and classes) is one of the most important steps in the object-oriented paradigm. This paper makes a literature review over techniques to identify objects and then presents six taxonomies for them. The f...

متن کامل

Representing Uniqueness Constraints in Object-Relational Mapping - The Natural Entity Framework

Object-oriented languages model data as transient objects, while relational databases store data persistently using a relational data model. The process of making objects persistent by storing their state as relational tuples is called object-relational mapping (ORM). This process is nuanced and complex as there are many fundamental differences between the relational model and the object model....

متن کامل

Comparison of Object Relations, Personality Organization, and Personal and Relational Meaning of Life in Psychology Graduates vs. other Students in Lahijan Azad University

Aim: We conducted the present study to compare Object relations, personality organization, personal meaning of life, and Relational meaning in life among Islamic Azad University, Lahijans branch's students.  Method: The research design was post-event (causal-comparative). The sample included 200 (100 psychology students and 100 students from other majors) selected based on convenience sampling...

متن کامل

Ideal Refinement of Datalog Clauses Using Primary Keys

Inductive Logic Programming (ILP) algorithms are frequently used to data mine multi-relational databases. However, in many ILP algorithms the use of primary key constraints is limited. We show how primary key constraints can be incorporated in a downward refinement operator. This refinement operator is proved to be finite, complete, proper and therefore ideal for clausal languages defined by pr...

متن کامل

The very same thing: Extending the object token concept to incorporate causal constraints on individual identity

The contributions of feature recognition, object categorization, and recollection of episodic memories to the re-identification of a perceived object as the very same thing encountered in a previous perceptual episode are well understood in terms of both cognitive-behavioral phenomenology and neurofunctional implementation. Human beings do not, however, rely solely on features and context to re...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994